%{
#include <stdio.h>
#include "parser.tab.h"
extern YYSTYPE yylval;

%}

%%

\+	{ return OP_PLUS; }
\-	{ return OP_MINUS; }
\*	{ return OP_TIMES; }
\/	{ return OP_DIV; }
\(	{ return OP_LPAREN; }
\)	{ return OP_RPAREN; }
\^	{	return OP_EXP; }
!		{ return OP_FACT; }
\|	{ return OP_BAR; }

\\pi {return CONST_PI;}
\\phi {return CONST_PHI;}
e	{return CONST_E;}

\{	{ return L_LBRACE; }
\}	{ return L_RBRACE; }

,		{ return M_COMMA; }

\\frac { return L_FRAC; }
\\binom { return L_BINOM; }


[0-9]		{ yylval.decimal = atoi(yytext); 
					return DIGIT; }
\.			{ return DECIMAL; }


[\t ]					{}
\\left 				{}
\\right 			{}
\\mbox\{[a-zA-Z0-9 \t\n_+\-*/()&^%#@!\[\]]*\} {}
\n						{ return NL; }
<<EOF>>	{return T_EOF; }

%%
